package com.hgw.easyrocketmq.base.consumer;

import org.apache.rocketmq.client.consumer.listener.MessageListener;

/**
 * Description: 普通消息消费者
 * com.hgw.easyrocketmq.base.consumer->BaseMsgConsumer
 *
 * @author LinHuiBa-YanAn
 * @date 2023/1/2 21:26
 */
public interface BaseMsgConsumer {

	/**
	 * Push式消费者-负载均衡方式消费消息
	 *
	 * @param consumerGroup   消费者组名
	 * @param topic           订阅主题
	 * @param tag             订阅标签
	 * @param messageListener MessageListener对象用于接收异步传递的消息
	 */
	void pushConsumerMsgByClustering(String consumerGroup, String topic, String tag, MessageListener messageListener);

	/**
	 * Push式消费者-广播方式消费消息
	 *
	 * @param consumerGroup   消费者组名
	 * @param topic           订阅主题
	 * @param tag             订阅标签
	 * @param messageListener MessageListener对象用于接收异步传递的消息
	 */
	void pushConsumerMsgByBroadcasting(String consumerGroup, String topic, String tag, MessageListener messageListener);
}
